Firefox OS

Mozilla公司主导开发的操作系统

火狐移动操作系统 (Firefox OS )是由Mozilla公司主导开发的操作系统。

基本介绍
2.1 概况
Firefox OS 是由 Mozllia 于 2011.7 发起的 B2G(Boot to Gecko)项目发展而来,2012.7 正式命名为 Firefox OS。该项目基于 Linux 以及 Gecko 引擎技术,从一开始就完全采取开放开源的方式进行开发,其核心理念是用户可接触到的应用都是基于 Web 的应用,这些应用使用高级 HTML5 技术和硬件设备接口,可通过JavaScript 直接访问手机的硬件设备。
对开发者来讲,最需要了解的是 Firefox OS 整个用户界面是一个 Web 应用,它能显示和激活其他 Web 应用。任何对用户界面的修改以及可以在 Firefox OS上运行的应用都是 Web 页面,只不过这些页面提供了可以直接访问硬件设备以及服务的能力。
项目发展动力在于 Mozilla 相信 Web 能够替代基于单个厂商的,带有授权的应用开发生态系统。为了让开放的 Web 技术成为未来移动和桌面应用发展的基础,需要持续地推动 Web 的发展,去拥有并在某些方面甚至要超越与其竞争的生态系统的能力。
2.2 初期完成的工作
◆ 提供新的 Web 接口原型,以暴露设备和操作系统的能力(包括电话、 短信、摄像、蓝牙、NFC 等)。
◆ 建立安全权限模型,确保这些新接口安全地暴露给上层的页面与应用。
◆ 为智能手机和平板提供一个底层的基础框架。
◆ 选择移植或构建应用,以证明或突出系统拥有的能力。
2.3 开发状态及发展
◆ 项目正全力的开发当中,主要开发人员为 Firefox 专职开发人员和部分厂商人员,再加部分开源爱好者。
◆ 2012 年初,为初始合作厂商提供了一套原型系统,主要吸引了部分电信运营商的关注与青睐。
◆ ZTE 和 TCL 计划于 2012 年底或 2013 年初推出基于 Firefox OS 的智能手机。
架构
Firefox OS 架构主要由三层组成,分别为 Gonk、Gecko、Gaia,其组成关系如下图所示
开发
5.1 开发背景
◆基于开源和开放的技术实现
由于 Firefox OS 的开发从一开始就基于开放开源的方式在进行,同时它的应用主要是基于 Web 技术,不同的开发人员特别是 Web 开发,都可以很快介入其应用的开发中。
另外由于它完全基于开放的 HTML/JavaScript 来实现应用的开发,与 Java完全不相干,从而导致其生态系统也与 Android 有本质的差别,也许这一点正是Firefox OS 与 Android 应用堆栈的最大差别。
◆基于通用的硬件以及公开的硬件抽象层
Mozilla 出于坚持开放的 Web 精神以及本身的优势与劣势,结合当前开源社区的情况特别是 Android 的快速普及,Firefox OS 的开发一开始是基于 Android来启动的, 甚至其整个编译打包刷机工具也是直接利用 Android 系统现有方式来实现的。
那 Mozilla 为什么会选择这样一种做法呢?也许最根本的原因是便于不同硬件的适配。不同厂商提供了不同硬件平台的Bootloader、FashBoot、内核驱动的更新以及针对 Android 平台的电话、短信、Camera、Sensor、视频图像显示处理等的底层支持。有了这些基础功能的底层支持,对 Firefox OS 的开发提供了极大的方便,从技术实现的角度看,Firefox OS 的底层实现可以基于 Android的底层实现来完成其架构中的 Gonk 层,以及对应的 Gecko 层。
从将 Firefox OS 移植到不同的平台来看,它采取了类似于 Android 的硬件抽象层,并且其中很多接口与 Android 相一致。这样在推广和建立 Firefox OS的生态系统时,则可以借力 Android 平台进行加速推动与普及。
从上面的分析看来,这是 Firefox OS 与 Android 实现的最大共同点,而这个共同点的形成,也许关键在于它们都是基于开源和开放的心态在进行操作系统开发。
◆拥有开放的开发测试平台
由于 Firefox OS 是基于 Web 技术开发应用,而 Web 技术已经在现代的浏览器中久经考验与广泛使用,其应用开发与测试甚至可以直接在桌面浏览器中进行。
4.2 Web 应用开发
基于上面提到的开发背景, 作为 Web 应用开发者,可以方便地介入到 FirefoxOS 应用开发中来,不过下面几点还是需要 Web 应用开发者有一定的认识:
◆Web 应用是个全新的尝试
虽然基于相同的技术,但 Web 应用从本质上讲与 Web 页面是有很大差别的。作者个人和魔智论坛的理解是,Web 页面最大的好处能根据页面内 URL 链接随意跳转到不同的页面,而 Web 应用本质上应该是强调内容的专注化、应用化,像一个本地应用一样(如魔智论坛手机版)要专注于完成某种功能,尽可能地让用户停留在该应用内,如游戏类、社交类应用。
有了这样基础的认识,需要对在 Web 页面的元素布局以及操作上进行一定的调整,才能够成为一款优秀的 Web 应用。
◆ Web 应用移动化的挑战
由于 Firefox OS 是一款针对移动的操作系统,必然会带上许多移动设备的特性如触摸操作、屏幕较小、可定位、Camera 等,这样就提供了许多新的设备或移动相关的 Web 接口,需要 Web 应用开发者学习和使用。
主要的新 Web 接口有:
◆Running Offline
◆Online and Offline Events
◆Drawing Graphics with Canvas
◆Drawing 3D Graphics with WebGL
◆Using Files from Web App
◆Detecting Device Orientation
◆Using Camera
◆Customing Phone
具体可以参考附录提供的参考资料。
Web 应用与本地应用的性能挑战
在 IOS、 Android 平台上, 应用相对本地应用来讲性能上有一定差距,Web也许这跟技术实现方案的选择有关, 但也很可能与这两个平台从一开始就不是针对 Web 应用而开发相关。试想为什么 iOS 平台上使用 Safari 浏览页面与使用
WebView 来浏览页面性能与体验有很大的差别。其根本原因在于 Safari 浏览器的独特性,而其独特性往往体现在其渲染方式和 JavaScript 引擎的性能等。而 Firefox OS 特别在渲染方式与 JavaScript 引擎性能上进行了特别的优化与调整,主要体现在:
◆ 使用新的 Azure 库来实现 Canvas 2D;
◆ 增强多进程架构,提供并行渲染合成的能力;
◆ 完善 WebWorker/WebSocket/WebStorage 的支持。
这应该只是开始,Web 应用的优点会随着时间的积累会凸现出来,而本地应用的局限会越来越令人不满,这也正是 Mozilla 发起 Firefox OS 项目的根本出发点也是它的使命所在,这正是魔智论坛一直支持B2G项目的原因,也正是它与 HP webOS 的差别所在。
4.3 针对 Firefox OS 本身的开发
如果想参与到 Firefox OS 本身的开发,或许是一个挑战的工作,因为它本身就充满挑战,再加上对 Android 系统的一点理解,外加上对浏览器引擎的一些了解,特别是对 Gecko 引擎的理解,则会比较轻松地介入到其中。因为它们毕竟是开源项目。一切可以从头开始,心动了吗,赶快行动吧。
4.4 Firefox OS 移植
基于上面的分析,若要将 Firefox OS 移植到其他硬件平台,如果该平台提供了 Android BSP,应该还是比较容易的。其工作的关键在于,对 Android 硬件抽象层与 Firefox OS 硬件抽象层进行对比与移植,也就是完善 Gonk 层的适配,对上层的 Gecko、Gaia 只需做稍小的改动即可。
总结
◆Firefox OS 项目从启动已经一年多时间,起步较快,还在快速迭代中,正准备在市场上推出首款手机。
◆Firefox OS 有 Mozilla 的大力支持,本着开放开源的精神进行开发,可充分发挥其对 Web 核心技术的理解能力,能引导并得到部分 Web 社区的认可与支持,有利于生态系统的建立。
◆但 Web 应用平台在移动市场上还没得到全面认可,存在一定的市场风险,并有 Chrome OS、HP webOS 的前车之鉴,这同样需要时间来获得市场的认可。
◆Mozilla 开发人员本身对硬件平台或系统底层的理解还是相对比较薄弱,需要与硬件厂商有更加紧密的磨合,幸运的是,他们选择了 Android 的硬件抽象层,减少了 Firefox OS 起步阶段的阻力。
◆Firefox OS 中的 Gecko 引擎在移动浏览器的竞争中处于劣势,包括其多进程模型、新的渲染合成架构、内存管理、操作上的顺滑度都需进一步加强与验证, Mozilla 拥有天才般的工程师以及独特的 Hack 精神, 但让世界见证过 Firefox 浏览器的横空出世,并正在努力攻关中,相信他们会给世界带来又一次惊喜,让我们拭目以待。
◆文中内容只是对 Firefox OS 进行一个初步分析,由于时间以及个人原因,可能有误,仅供参考,希望大家能谅解与指正,如果想进一步了解和关注 Firefox OS,愿意的话可以与作者进行探讨交流。
全国各地天气预报查询

上海市

  • 市辖区
  • 云南省

  • 临沧市
  • 云南省

  • 丽江市
  • 云南省

  • 保山市
  • 云南省

  • 大理白族自治州
  • 云南省

  • 德宏傣族景颇族自治州
  • 云南省

  • 怒江傈僳族自治州
  • 云南省

  • 文山壮族苗族自治州
  • 云南省

  • 昆明市
  • 云南省

  • 昭通市
  • 云南省

  • 普洱市
  • 云南省

  • 曲靖市
  • 云南省

  • 楚雄彝族自治州
  • 云南省

  • 玉溪市
  • 云南省

  • 红河哈尼族彝族自治州
  • 云南省

  • 西双版纳傣族自治州
  • 云南省

  • 迪庆藏族自治州
  • 内蒙古自治区

  • 乌兰察布市
  • 内蒙古自治区

  • 乌海市
  • 内蒙古自治区

  • 兴安盟
  • 内蒙古自治区

  • 包头市
  • 内蒙古自治区

  • 呼伦贝尔市
  • 内蒙古自治区

  • 呼和浩特市
  • 内蒙古自治区

  • 巴彦淖尔市
  • 内蒙古自治区

  • 赤峰市
  • 内蒙古自治区

  • 通辽市
  • 内蒙古自治区

  • 鄂尔多斯市
  • 内蒙古自治区

  • 锡林郭勒盟
  • 内蒙古自治区

  • 阿拉善盟
  • 北京市

  • 市辖区
  • 吉林省

  • 吉林市
  • 吉林省

  • 四平市
  • 吉林省

  • 延边朝鲜族自治州
  • 吉林省

  • 松原市
  • 吉林省

  • 白城市
  • 吉林省

  • 白山市
  • 吉林省

  • 辽源市
  • 吉林省

  • 通化市
  • 吉林省

  • 长春市
  • 四川省

  • 乐山市
  • 四川省

  • 内江市
  • 四川省

  • 凉山彝族自治州
  • 四川省

  • 南充市
  • 四川省

  • 宜宾市
  • 四川省

  • 巴中市
  • 四川省

  • 广元市
  • 四川省

  • 广安市
  • 四川省

  • 德阳市
  • 四川省

  • 成都市
  • 四川省

  • 攀枝花市
  • 四川省

  • 泸州市
  • 四川省

  • 甘孜藏族自治州
  • 四川省

  • 眉山市
  • 四川省

  • 绵阳市
  • 四川省

  • 自贡市
  • 四川省

  • 资阳市
  • 四川省

  • 达州市
  • 四川省

  • 遂宁市
  • 四川省

  • 阿坝藏族羌族自治州
  • 四川省

  • 雅安市
  • 天津市

  • 市辖区
  • 宁夏回族自治区

  • 中卫市
  • 宁夏回族自治区

  • 吴忠市
  • 宁夏回族自治区

  • 固原市
  • 宁夏回族自治区

  • 石嘴山市
  • 宁夏回族自治区

  • 银川市
  • 安徽省

  • 亳州市
  • 安徽省

  • 六安市
  • 安徽省

  • 合肥市
  • 安徽省

  • 安庆市
  • 安徽省

  • 宣城市
  • 安徽省

  • 宿州市
  • 安徽省

  • 池州市
  • 安徽省

  • 淮北市
  • 安徽省

  • 淮南市
  • 安徽省

  • 滁州市
  • 安徽省

  • 芜湖市
  • 安徽省

  • 蚌埠市
  • 安徽省

  • 铜陵市
  • 安徽省

  • 阜阳市
  • 安徽省

  • 马鞍山市
  • 安徽省

  • 黄山市
  • 山东省

  • 东营市
  • 山东省

  • 临沂市
  • 山东省

  • 威海市
  • 山东省

  • 德州市
  • 山东省

  • 日照市
  • 山东省

  • 枣庄市
  • 山东省

  • 泰安市
  • 山东省

  • 济南市
  • 山东省

  • 济宁市
  • 山东省

  • 淄博市
  • 山东省

  • 滨州市
  • 山东省

  • 潍坊市
  • 山东省

  • 烟台市
  • 山东省

  • 聊城市
  • 山东省

  • 菏泽市
  • 山东省

  • 青岛市
  • 山西省

  • 临汾市
  • 山西省

  • 吕梁市
  • 山西省

  • 大同市
  • 山西省

  • 太原市
  • 山西省

  • 忻州市
  • 山西省

  • 晋中市
  • 山西省

  • 晋城市
  • 山西省

  • 朔州市
  • 山西省

  • 运城市
  • 山西省

  • 长治市
  • 山西省

  • 阳泉市
  • 广东省

  • 东莞市
  • 广东省

  • 中山市
  • 广东省

  • 云浮市
  • 广东省

  • 佛山市
  • 广东省

  • 广州市
  • 广东省

  • 惠州市
  • 广东省

  • 揭阳市
  • 广东省

  • 梅州市
  • 广东省

  • 汕头市
  • 广东省

  • 汕尾市
  • 广东省

  • 江门市
  • 广东省

  • 河源市
  • 广东省

  • 深圳市
  • 广东省

  • 清远市
  • 广东省

  • 湛江市
  • 广东省

  • 潮州市
  • 广东省

  • 珠海市
  • 广东省

  • 肇庆市
  • 广东省

  • 茂名市
  • 广东省

  • 阳江市
  • 广东省

  • 韶关市
  • 广西壮族自治区

  • 北海市
  • 广西壮族自治区

  • 南宁市
  • 广西壮族自治区

  • 崇左市
  • 广西壮族自治区

  • 来宾市
  • 广西壮族自治区

  • 柳州市
  • 广西壮族自治区

  • 桂林市
  • 广西壮族自治区

  • 梧州市
  • 广西壮族自治区

  • 河池市
  • 广西壮族自治区

  • 玉林市
  • 广西壮族自治区

  • 百色市
  • 广西壮族自治区

  • 贵港市
  • 广西壮族自治区

  • 贺州市
  • 广西壮族自治区

  • 钦州市
  • 广西壮族自治区

  • 防城港市
  • 新疆维吾尔自治区

  • 乌鲁木齐市
  • 新疆维吾尔自治区

  • 伊犁哈萨克自治州
  • 新疆维吾尔自治区

  • 克孜勒苏柯尔克孜自治州
  • 新疆维吾尔自治区

  • 克拉玛依市
  • 新疆维吾尔自治区

  • 博尔塔拉蒙古自治州
  • 新疆维吾尔自治区

  • 吐鲁番市
  • 新疆维吾尔自治区

  • 和田地区
  • 新疆维吾尔自治区

  • 哈密市
  • 新疆维吾尔自治区

  • 喀什地区
  • 新疆维吾尔自治区

  • 塔城地区
  • 新疆维吾尔自治区

  • 巴音郭楞蒙古自治州
  • 新疆维吾尔自治区

  • 昌吉回族自治州
  • 新疆维吾尔自治区

  • 自治区直辖县级行政区划
  • 新疆维吾尔自治区

  • 阿克苏地区
  • 新疆维吾尔自治区

  • 阿勒泰地区
  • 江苏省

  • 南京市
  • 江苏省

  • 南通市
  • 江苏省

  • 宿迁市
  • 江苏省

  • 常州市
  • 江苏省

  • 徐州市
  • 江苏省

  • 扬州市
  • 江苏省

  • 无锡市
  • 江苏省

  • 泰州市
  • 江苏省

  • 淮安市
  • 江苏省

  • 盐城市
  • 江苏省

  • 苏州市
  • 江苏省

  • 连云港市
  • 江苏省

  • 镇江市
  • 江西省

  • 上饶市
  • 江西省

  • 九江市
  • 江西省

  • 南昌市
  • 江西省

  • 吉安市
  • 江西省

  • 宜春市
  • 江西省

  • 抚州市
  • 江西省

  • 新余市
  • 江西省

  • 景德镇市
  • 江西省

  • 萍乡市
  • 江西省

  • 赣州市
  • 江西省

  • 鹰潭市
  • 河北省

  • 保定市
  • 河北省

  • 唐山市
  • 河北省

  • 廊坊市
  • 河北省

  • 张家口市
  • 河北省

  • 承德市
  • 河北省

  • 沧州市
  • 河北省

  • 石家庄市
  • 河北省

  • 秦皇岛市
  • 河北省

  • 衡水市
  • 河北省

  • 邢台市
  • 河北省

  • 邯郸市
  • 河南省

  • 三门峡市
  • 河南省

  • 信阳市
  • 河南省

  • 南阳市
  • 河南省

  • 周口市
  • 河南省

  • 商丘市
  • 河南省

  • 安阳市
  • 河南省

  • 平顶山市
  • 河南省

  • 开封市
  • 河南省

  • 新乡市
  • 河南省

  • 洛阳市
  • 河南省

  • 漯河市
  • 河南省

  • 濮阳市
  • 河南省

  • 焦作市
  • 河南省

  • 省直辖县级行政区划
  • 河南省

  • 许昌市
  • 河南省

  • 郑州市
  • 河南省

  • 驻马店市
  • 河南省

  • 鹤壁市
  • 浙江省

  • 丽水市
  • 浙江省

  • 台州市
  • 浙江省

  • 嘉兴市
  • 浙江省

  • 宁波市
  • 浙江省

  • 杭州市
  • 浙江省

  • 温州市
  • 浙江省

  • 湖州市
  • 浙江省

  • 绍兴市
  • 浙江省

  • 舟山市
  • 浙江省

  • 衢州市
  • 浙江省

  • 金华市
  • 海南省

  • 三亚市
  • 海南省

  • 三沙市
  • 海南省

  • 儋州市
  • 海南省

  • 海口市
  • 海南省

  • 省直辖县级行政区划
  • 湖北省

  • 十堰市
  • 湖北省

  • 咸宁市
  • 湖北省

  • 孝感市
  • 湖北省

  • 宜昌市
  • 湖北省

  • 恩施土家族苗族自治州
  • 湖北省

  • 武汉市
  • 湖北省

  • 省直辖县级行政区划
  • 湖北省

  • 荆州市
  • 湖北省

  • 荆门市
  • 湖北省

  • 襄阳市
  • 湖北省

  • 鄂州市
  • 湖北省

  • 随州市
  • 湖北省

  • 黄冈市
  • 湖北省

  • 黄石市
  • 湖南省

  • 娄底市
  • 湖南省

  • 岳阳市
  • 湖南省

  • 常德市
  • 湖南省

  • 张家界市
  • 湖南省

  • 怀化市
  • 湖南省

  • 株洲市
  • 湖南省

  • 永州市
  • 湖南省

  • 湘潭市
  • 湖南省

  • 湘西土家族苗族自治州
  • 湖南省

  • 益阳市
  • 湖南省

  • 衡阳市
  • 湖南省

  • 邵阳市
  • 湖南省

  • 郴州市
  • 湖南省

  • 长沙市
  • 甘肃省

  • 临夏回族自治州
  • 甘肃省

  • 兰州市
  • 甘肃省

  • 嘉峪关市
  • 甘肃省

  • 天水市
  • 甘肃省

  • 定西市
  • 甘肃省

  • 平凉市
  • 甘肃省

  • 庆阳市
  • 甘肃省

  • 张掖市
  • 甘肃省

  • 武威市
  • 甘肃省

  • 甘南藏族自治州
  • 甘肃省

  • 白银市
  • 甘肃省

  • 酒泉市
  • 甘肃省

  • 金昌市
  • 甘肃省

  • 陇南市
  • 福建省

  • 三明市
  • 福建省

  • 南平市
  • 福建省

  • 厦门市
  • 福建省

  • 宁德市
  • 福建省

  • 泉州市
  • 福建省

  • 漳州市
  • 福建省

  • 福州市
  • 福建省

  • 莆田市
  • 福建省

  • 龙岩市
  • 西藏自治区

  • 山南市
  • 西藏自治区

  • 拉萨市
  • 西藏自治区

  • 日喀则市
  • 西藏自治区

  • 昌都市
  • 西藏自治区

  • 林芝市
  • 西藏自治区

  • 那曲市
  • 西藏自治区

  • 阿里地区
  • 贵州省

  • 六盘水市
  • 贵州省

  • 安顺市
  • 贵州省

  • 毕节市
  • 贵州省

  • 贵阳市
  • 贵州省

  • 遵义市
  • 贵州省

  • 铜仁市
  • 贵州省

  • 黔东南苗族侗族自治州
  • 贵州省

  • 黔南布依族苗族自治州
  • 贵州省

  • 黔西南布依族苗族自治州
  • 辽宁省

  • 丹东市
  • 辽宁省

  • 大连市
  • 辽宁省

  • 抚顺市
  • 辽宁省

  • 朝阳市
  • 辽宁省

  • 本溪市
  • 辽宁省

  • 沈阳市
  • 辽宁省

  • 盘锦市
  • 辽宁省

  • 营口市
  • 辽宁省

  • 葫芦岛市
  • 辽宁省

  • 辽阳市
  • 辽宁省

  • 铁岭市
  • 辽宁省

  • 锦州市
  • 辽宁省

  • 阜新市
  • 辽宁省

  • 鞍山市
  • 重庆市

  • 重庆市

  • 市辖区
  • 陕西省

  • 咸阳市
  • 陕西省

  • 商洛市
  • 陕西省

  • 安康市
  • 陕西省

  • 宝鸡市
  • 陕西省

  • 延安市
  • 陕西省

  • 榆林市
  • 陕西省

  • 汉中市
  • 陕西省

  • 渭南市
  • 陕西省

  • 西安市
  • 陕西省

  • 铜川市
  • 青海省

  • 果洛藏族自治州
  • 青海省

  • 海东市
  • 青海省

  • 海北藏族自治州
  • 青海省

  • 海南藏族自治州
  • 青海省

  • 海西蒙古族藏族自治州
  • 青海省

  • 玉树藏族自治州
  • 青海省

  • 西宁市
  • 青海省

  • 黄南藏族自治州
  • 黑龙江省

  • 七台河市
  • 黑龙江省

  • 伊春市
  • 黑龙江省

  • 佳木斯市
  • 黑龙江省

  • 双鸭山市
  • 黑龙江省

  • 哈尔滨市
  • 黑龙江省

  • 大兴安岭地区
  • 黑龙江省

  • 大庆市
  • 黑龙江省

  • 牡丹江市
  • 黑龙江省

  • 绥化市
  • 黑龙江省

  • 鸡西市
  • 黑龙江省

  • 鹤岗市
  • 黑龙江省

  • 黑河市
  • 黑龙江省

  • 齐齐哈尔市